package 代码coding题OR模拟题;
import java.util.HashMap;
/**
 * 卧槽  还能 dp  来写  我靠
 * https://leetcode.cn/problems/largest-3-same-digit-number-in-string/solution/dong-tai-gui-hua-by-verygoodlee-9fdn/
 * 
 * @author I adore you
 *
 */
public class leetcode字符串的最大三位相同数字 {
	public static void main(String []args) {
//		String s = "6777133339";
		String s = "222";
		System.out.println(solution(s));
	}
	static String solution(String s) {
		HashMap<String,Integer> map = new HashMap<>();
		String ans = "";
		map.put("999",9);
		map.put("888",8);
		map.put("777",7);
		map.put("555",5);
		map.put("444",4);
		map.put("666",6);
		map.put("222",2);
		map.put("111",1);
		map.put("333",3);
		map.put("000",0);
		char []str = s.toCharArray();
		int flag = -1;
		for(int i = 0;i <= str.length - 3;i++) {
			String temp = s.substring(i,i+3);
			if(map.containsKey(temp) && map.get(temp) > flag ) {
				flag = map.get(temp);
				ans = temp;
			}
				
		}
		return ans;
	}
	/**
	 * 想表达的 一个 点 就是 字符串 本身 就是 可以  直接  比较大小的
	 * 尤其 是 数字  型 的  字符串 
	 */
	static String solution(String s,int distinct) {
		String ans = "";
		for(int i = 2;i < s.length();i++) {
			if(s.charAt(i) == s.charAt(i - 1) && s.charAt(i - 2) == s.charAt(i))
//				ans = s.substring(i,i+3)
				ans = " ";
				
		}
		return ans;
	}
	
	/**
	 * 牛逼  卧槽
	 *牛逼 虽然 牛逼 但是  常数 时间的 复杂度 高  
	 */
	public String largestGoodInteger(String num) {
		for (int i = 9; i >= 0; i--) {
			if (num.contains("" + i + i + i)) {
				return "" + i + i + i;
			}
		}
		return "";
	}
}
